1. Field of the Invention
The present invention relates to a print driver executing in a computer which controls a printer based on status of the printer.
2. Description of the Related Art
Printers today are designed to work in a broad range of environmental and configurational situations. For example, commercial printers are often designed to work in a temperature range extending from around 5xc2x0 C. to around 50xc2x0 C.
Because of the wide extremes over which printers are designed to operate, large design margins are built into the initial design of the printer. Such large design margins often result in undesirable tradeoffs in operating performance at the most commonly encountered operational and configurational environments.
One example of such tradeoffs can be found in the case of a bubble jet printer, which forms images by ejecting ink droplets from multiple small ink jet nozzles in an ink jet head moved reciprocally with respect to a recording medium. Such a bubble jet printer is most ordinarily and typically used in a home environment where temperature and humidity, together with other environmental and configurational situations, are nominal. However, since the printer is designed to work at temperature extremes, performance at nominal temperature is often adversely affected. At temperature extremes, for example, ink viscosity may be extremely high for color temperatures or extremely low for hot temperatures. As a consequence, operational parameters such as nozzle cleaning operations, feed speed for recording media, paper ejection interval and the like must be selected at design time with adequate margins to accommodate such extremes. Such large design margins, however, adversely effect performance of the printer at nominal conditions in which the printer will operate most often.
It is an object of the invention to address the foregoing situation, by providing a print driver which modifies operational parameters of the printer, as well as modifying operations by which the print driver derives print data for transmission to the printer, based on status of the printer, with such modifications resulting in behavior that is different from default behavior and which is better able to obtain more optimum performance for the particular status of the printer at print time.
Thus, in one aspect the invention is a print driver executable on computing equipment connectable to a driven printer, with the print driver querying the printer for current status in response to initiation of a print job, and with the print driver modifying operational parameters of the printer and/or modifying operation of the print driver itself, in accordance with the current status. In preferred forms, status of the printer includes temperature, firmware capability and configuration, firmware version, status of on-going operations in the printer (such as cleaning and recovery operations, and printing and feeding operations) and data transfer configuration. Based on such status, the print driver modifies operational parameters of the printer. Operational parameters of the printer preferably include parameters relating to printer recovery and maintenance operations (such as purge intervals and pre-firing intervals), speed for sheet feeding, purge speed, smear reduction time intervals, and the like. A print driver of the invention may also modify its own operational flow sequence based on the printer status. Such operational modifications may include, for example, calculation and derivation of print data differently based on the printer status, transmission of data differently based on the printer status, and different user interactions based on the printer status.
According to the invention, it is also possible for the print driver to obtain current configuration information of the computing equipment within which the print driver is executing, such as time, location and date. In combination with printer status, the print driver of the invention may modify operational parameters of the printer, or its own operation, based on printer status alone, or based on printer status and current configuration of the computing equipment.
In other aspects, the invention also contemplates methods performed by such a print driver, a computer-readable storage medium storing process steps comprising such a print driver, as well as the computer executable process steps comprising such a print driver.
This brief summary has been provided so that the nature of the invention may be understood quickly. A more complete understanding of the invention can be obtained by reference to the following detailed description of the preferred embodiment thereof in connection with the attached drawings.